Technical Field
Aspects of the embodiments relate to wireless networks and more specifically to systems, devices and methods for determining the quality of one or more communications links in a wireless network.
Background Art
Control networks in homes are increasingly popular installations. A network of sensors and control devices distributed throughout a residential or commercial building can control and provide information for various elements of the building. For example, one or more control networks in a home can control and monitor lighting, heating, ventilation and air conditioning (HVAC), and audio-visual (AV) equipment.
Increasingly, these control networks comprise one or more personal area networks (PANs) that are organized and in communication with other PANs and the control system. Such communications can include conflict resolution mechanisms, among others. Generally, these PANs allow each device to communicate with each other, thereby providing multiple possible routes between nodes over which a packet can be routed. This is in contrast to traditional networks in which devices generally communicate through a master or a repeater.
FIG. 1 illustrates a block diagram of a first PAN 100. PAN 100 is a network topology in that uses a source routing format. In the source routing format, only the nodes in a proscribed route are actively involved in propagating the message. In some cases, a broadcast message can be used that involves all or most of the other nodes, but that typically does not happen. Nonetheless, all of the nodes can cooperate in the distribution of data in PAN 100, but typically do not, as described above. PAN 100 typically has a self-healing capability that enables data rerouting when one node breaks down or a connection goes bad. As a result, Pan 100 is typically quite “robust” or reliable, as there is often more than one path between a source and a destination in PAN 100. Although mostly used in wireless situations (shown as dashed lines), PAN 100 is also applicable to wired networks (solid lines) and software interaction. PANs 100 are applicable to data only, as power cannot be effectively be transferred wirelessly.
While PANs 100 can be implemented with either a flooding technique or a routing technique to transmit messages, the former is less preferred. That is because the flooding technique incurs massive bandwidth overhead in exchange for their lightweight protocol overhead, making them very inefficient. When using a routing technique, the message is propagated along a path, by hopping from one PAN 100 node 104 to the next node 104 until the destination is reached (e.g., first PAN 100 node 104a to second PAN 100 node 104b, and so on). To ensure the availability of all of its paths, a routing network must allow for continuous connections and reconfiguration around broken or blocked paths using self-healing algorithms.
When nodes 102, 104, and 106 are all connected to each other in PAN 100, it is commonly referred to as a fully connected network. Node 102 is a special node, and can be referred to as coordinator node 102; nodes 104 can be further defined as fully functioning device (FFD) nodes (FFD node 104), or reduced function device (RFD) nodes (RFD node 106). Node 110, which is not always required, can be referred to as diagnostic node 110. Diagnostic node 110 provides a user with the ability to ascertain the communication link status within PAN 100. Diagnostic node 110 is substantially similar in function as diagnostic console 210 shown and described in reference to FIG. 2, and thus a detailed discussion is made in reference thereto. Coordinator node 102, FFD node 104, and RFD node 106 are described in greater detail below. A fully connected network can be costly, as either a wired connection is required between each node (or computer) or a wireless interface needs to be installed. Of course, the wireless interface can save wiring costs, but can also prove to be less reliable (and slower) under some conditions, as those of skill in the art can appreciate.
As shown in FIG. 1, PAN 100 comprises coordinator node 102 in wired communication with FFD nodes 104a and 104b (solid lines), and in wireless communication (dashed lines) FFD nodes 104a and 104b. FFD node 104a is in wired communications with FFD node 104c, and is in wireless communication with FFD nodes 104b and 104c. FFD node 104b is in wired and wireless communications with RFD node 106, and RFD node 106 is in both wired and wireless communications with FFD node 104d. While all of the nodes of PAN 100 have wireless communications capabilities, for certain reasons (distance, interference, among other reasons), not all nodes can communicate wirelessly with all other nodes. It is noted, however, that RFD node 106, while in both wired and wireless communications with FFD node 104d, cannot route messages to FFD 104, although it can communicate its own messages to FFD 104.
Communication protocols govern the operation of wireless PANs 100 by governing network formation, communication, interferences and other operational characteristics. For example, one such protocol is the Zigbee protocol from the Zigbee Alliance. The Institute of Electric and Electronic Engineers (IEEE) 802.15.4 standard specifies the physical layer and media access control for low-rate wireless personal area networks (LR-WPANs). It is maintained by the IEEE 802.15 working group, which defined it in 2003. It is the basis for the ZigBee, International Society of Automation (ISA) 100.11a, WirelessHART, and MicroChip's “MiWi” specifications, each of which further extends the standard by developing the upper layers which are not defined in IEEE 802.15.4. Another wireless communication protocol is the infiNET EX protocol from Crestron Electronics, Inc. of Rockleigh, N.J. Based on ZigBee PRO technology, infiNET EX is an extremely reliable and affordable protocol that is employed by 2-way wireless light dimmers, light switches, thermostats, keypads and other wireless sensors and control devices, described below in regard to FIG. 2.
Wireless mesh network devices within in a Zigbee or infiNET network (from hereon in referred to as PAN 100) can be classified as coordinator node 104, FFD node 104, and RFD node 106. PAN Coordinator node (coordinator node) 102 is the device that is responsible for starting the formation of PAN 100. There is only one coordinator 102 in any PAN 100. Coordinator node 102 chooses the PAN identification (PAN-ID), the 16-bit value that is used to uniquely define PAN 100.
FFD node 104 is a device that can route communication packets as part of its normal operation. FFD node 104 can also be called a “router.” FFD nodes 104 form the network topology by establishing communications links to other devices (both FFD nodes 104 and RFD nodes 106). FFD nodes 104 can act as a sensor, actuator or other type of node.
RFD node 106 is a device that cannot route communication packets. They are always associated with a single FFD node 104, and can only participate in PAN 100 as an end node, or leaf node.
Wireless networks, such as Zigbee or infiNET networks, are formed by an initialization process. Typically, many of configuration properties can be preconfigured prior to initialization. By preconfiguring these properties, an administrator can determine the size and shape of the network. For example, the maximum number of links from PAN coordinator 102 to the furthest device can influence the shape and size of the network. The maximum number of devices that can connect to FFD node 104 can also determine the shape and size of the network. According to an aspect of the embodiments, coordinator node 102 can specify the number of devices that can link to FFD node 104, as well as how many of these devices can be routers themselves. According to further aspects of the embodiments, however, device applications can decide what node type they are, and they can define how many RFD devices can route through them.
Coordinator 102 is responsible for initializing wireless PAN 100. First coordinator 102 chooses a suitable radio channel on which to operate. Next, coordinator 102 assigns a PAN ID to the network. The PAN ID can be pre-configured or alternatively can be chosen by detecting other networks operating in the same frequency channel and choosing a PAN ID that does not conflict with theirs. Coordinator 102 also assigns a network address to itself. Typically, this address is zero (0).
Once coordinator 102 is finished configuring itself, it starts itself in a PAN coordinator mode. It is then prepared to field queries from other devices wishing to join the network through a commissioning process. Other devices, both FFD nodes 104 and RFD nodes 106, can join the network once PAN 100 has been created by coordinator 102. Coordinator 102 has the capability to allow other nodes to join. Additionally, FFD nodes 104 can also allow other nodes to join.
Devices join PAN 100 through a commissioning process. First, the new device (i.e., the new node) scans available channels to find a wireless network. The device then selects a discovered network by choosing a router or network coordinator on that network. Once this is done, the device sends a join message to the desired router or network coordinator, either FFD node 104 on PAN 100 or coordinator node 102.
However, PANs 100 do not always work as well upon commissioning or changes to the operating environment. Due to the complexity of the system and the transparent nature of their operation, it is not always easy to diagnose issues within the system.
Typically, the information available via communications from stack software is not useful for troubleshooting problems encountered in the field. This is largely due to the typical performance metrics being reported from the stack software being based on a very narrow spectrum of data that is itself frequently not useful. Such stack software analyzes communication events it is involved in, such as message delivery, message delivery failure, receive energy levels, and received data errors. As those of skill in the art can appreciate, the “stack” implements the lowers layers of communication, and provides an interface that can access a limited set of information it maintains, such as the ZLDU value, and event counters that can be used in system-level debugging. One example of such a stack software analysis program has been developed by EmbernetZNet; it includes a pre-compiled library, as well as some source files, that can be readily implemented to perform stack layer analysis.
Installers and field support individuals are left with a “pass/fail” type result with no indication of the cause of problems. Further, in certain applications, even a “pass/fail” test is not effective.
Accordingly, there is a need for an improved system of diagnosing issues within a personal area network such as mesh network 100.